package modelo.AlgoHero;



import org.w3c.dom.*;


public class Nota {
	
	private Tono tono = null;
	private Figura figura;
	
	/**
	 * Constructor
	 * @param unTono	Tono de la nota
	 * @param unaFigura	Figura musical que representa la duracion de la nota
	 * @author Hernan G Gonzalez
	 */
	public Nota (Tono unTono, Figura unaFigura){
		
		this.tono = unTono;
		this.figura = unaFigura;
		
	}
	
	/**
	 * Constructor que no recibe parametros	 
	 *  @autor santiago di Tada
	 */
	public Nota (){
						
	}
	
	/**
	 * Recibe un nodo, que seria la nota, realiza la deserializacion y se completa
	 *  TODO completar
	 *  @autor santiago di Tada
	 */
	public void Deserialize(Element notaNode){
		  NamedNodeMap attributes = notaNode.getAttributes();
		  if (attributes.getNamedItem("figura") != null)
			   this.figura = Figura.valueOf(attributes.getNamedItem("figura").getNodeValue());		
	      this.tono = Tono.valueOf(notaNode.getTextContent());			  
		  //System.out.println(" figura"+ this.figura);
		  //System.out.println(" el tono es "+ this.tono);
		}	

	/**
	 * Metodo utilizado para obtener la duracion de la nota, expresedas en la figura de menor duracion utilizada (por ej semi corcheas)
	 * @return Integer	Duracion de la nota
	 * @author Hernan G Gonzalez
	 */
	public Integer getDuracion(){
		
		return this.figura.getDuracion();
	}
}
